
#ifndef NODEITERATOR_HPP_
#define NODEITERATOR_HPP_

#include "../list/listIterator.hpp"
#include "edge.hpp"

class NodeIterator{
private:
	ListIterator<Edge> *it;
public:
	NodeIterator(List<Edge> *l){
		this->it = new ListIterator<Edge>(l);
	}

	virtual ~NodeIterator(){
		delete this->it;
	}

	bool hasNext(){
		return this->it->hasNext();
	}

	Edge* next(){
		return this->it->next();
	}

	Edge* remove(){
		return this->it->remove();
	}

	void add(Edge *datta){
		this->it->add(datta);
	}

	Edge* get(){
		return this->it->get();
	}

};

#endif /* NODEITERATOR_HPP_ */
